package com.java.base.exercise;


import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Base64;

public class Student1 implements Comparable<Student1> {

    private String name;


    private Integer age;

    public Student1() {
    }

    public Student1(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public String helloWorld(){
        return "hello=============world!!!!!";
    }

    @Override
    public int compareTo(Student1 o) {

        //return -1; //-1表示放在红黑树的左边,即逆序输出
        //return 1;  //1表示放在红黑树的右边，即顺序输出
        //return o;  //表示元素相同，仅存放第一个元素
        //主要条件 姓名的长度,如果姓名长度小的就放在左子树，否则放在右子树
        int num = this.name.length() - o.name.length();

        //姓名的长度相同，不代表内容相同,如果按字典顺序此 String 对象位于参数字符串之前，则比较结果为一个负整数。
        //如果按字典顺序此 String 对象位于参数字符串之后，则比较结果为一个正整数。
        //如果这两个字符串相等，则结果为 0
        int num1 = num == 0 ? this.name.compareTo(o.name) : num;

        //姓名的长度和内容相同，不代表年龄相同，所以还要判断年龄
        int num2 = num1 == 0 ? this.age - o.age : num1;

        return num2;
    }

    public static String imageToBase64(String imageUrl) throws Exception {
        URL url = new URL(imageUrl);
        InputStream is = url.openStream();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len;
        while ((len = is.read(buffer)) != -1) {
            baos.write(buffer, 0, len);
        }
        return Base64.getEncoder().encodeToString(baos.toByteArray());
    }

    public void selfPrint(){
        System.out.println("================Student111111111  的selfPrint 方法触发！！！！==========================");
    }



    public static void main(String[] args) {





        System.out.println(LocalDate.now().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))+"========111111===========");
        System.out.println(LocalDate.now().atTime(23,59).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))+"=========3333============");




        try {
            String imageToBase64 = imageToBase64("https://pic.616pic.com/phototwo/00/08/07/61de88cdf22ba7056.jpg");
            System.out.println(imageToBase64);









        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
